<?php
include_once('configure.php');
include('class.db.php');
include('open-flash-chart.php');
$nome_sommita = $_GET['sommita'];

$nome_tuboaperto = $_GET['tuboaperto'];
$piezo1=$_GET['piezo1'];
$piezo2=$_GET['piezo2'];
$giorni=$_GET['giorni'];
//Connect to MySQL Database

$msql  = new Db;
$msql->connect();
$arr=$msql->execute_select("SELECT data FROM dati_impianto order by data desc limit 1;");
$data_db=$arr[0][0];
$data_sec_db=strtotime($data_db);
$data_sec=strtotime( date("Y-m-d G:00:00"));

$arr_valori=$msql->execute_select("SELECT soglia,pre_soglia FROM valori_soglie_presoglie where segnale=1;");
$soglia=$arr_valori[0][0];
$presoglia=$arr_valori[0][1];

$data_sec=$data_sec - 3600*24*$giorni;
$data_less_hour=strftime('%Y-%m-%d %H:%M:%S',$data_sec);

$data_sec_db=$data_sec_db - 3600*24*$giorni;
$data_less_hour_db=strftime('%Y-%m-%d %H:%M:%S',$data_sec_db);

$query="SELECT " .$nome_sommita. "," .$nome_tuboaperto. ",DATE_FORMAT(data,'%e-%m-%X %H:%i')as data FROM dati_impianto where data >= '$data_less_hour' && $nome_sommita > -999 && $nome_tuboaperto > -999";
$result = $msql->execute_select($query);
$num_records=count($result_dati_impianto);

$query="SELECT " .$nome_sommita. "," .$nome_tuboaperto. ",DATE_FORMAT(data,'%e-%m-%X %H:%i')as data FROM dati_impianto where data >= '$data_less_hour' && $nome_sommita > -999 && $nome_tuboaperto > -999";
$result = $msql->execute($query);

$query="SELECT " .$piezo1.",".$piezo2. ",DATE_FORMAT(data_pre,'%e-%m-%X %H:%i')as data_pre FROM simulazioni where $piezo1 <> -999 && $piezo2 <> -999";
$result_simulazioni = $msql->execute($query);

if($num_records < 1)
{
    $query="SELECT " .$nome_sommita. "," .$nome_tuboaperto. ",DATE_FORMAT(data,'%e-%m-%X %H:%i')as data FROM dati_impianto where data >= '$data_less_hour_db' && $nome_sommita > -999 && $nome_tuboaperto > -999";
    $result = $msql->execute($query);
}
$max=$min=0;
while( $row = mysql_fetch_array($result) )
{
  $segnali[] = $row[$nome_sommita];
  $segtuboaperto[] = $row[$nome_tuboaperto];
  $date[] = $row['data'];
  
  $data_last  = $row['data'];
  $soglia_arr[$data_last]=$soglia; //soglia
  $pre_soglia_arr[$data_last]=$presoglia; //presoglia
  
  $segnali_pre[]='null';
  $segtuboaperto_pre[]='null';
  $max=max($max,$row[$nome_sommita],$row[$nome_tuboaperto],$soglia,$presoglia);
  $min=min($min,$row[$nome_sommita],$row[$nome_tuboaperto],$soglia,$presoglia);

}



while( $row = mysql_fetch_array($result_simulazioni) )
{
  $segnali_pre[] = $row[$piezo1 ];
  $segtuboaperto_pre[] = $row[$piezo2];
  $date[] = $row['data_pre'];
  
  $data_last  = $row['data_pre'];
  $soglia_arr[$data_last]=$soglia; //soglia
  $pre_soglia_arr[$data_last]=$presoglia; //presoglia
  
  $max=max($max,$row[$piezo1],$row[$piezo2],$soglia,$presoglia);
  $min=min($min,$row[$piezo1],$row[$piezo2],$soglia,$presoglia);

}
print_r($segnali_pre);

//echo count($date)."@".(count($date)/2)."\n";
$msql->disconnettiDB();
$steps=6;
//$max_seg=max($segnali);
//$max_tub=max($segtuboaperto);
//$min_seg=min($segnali);
//$min_tub=min($segtuboaperto);
//$max_pre=max(max($segnali_pre),max($segtuboaperto_pre));
//echo "ssssssssssssssssssss".max($segnali_pre)."\n\n";
//$min_pre=min(min($segnali_pre),min($segtuboaperto_pre));
//$max=max($max_seg,$max_tub,$max_pre);
//$min=min($min_seg,$min_tub,$min_pre);
$offset=abs((abs($max) - abs($min)));
$max_val=$max + (1*$offset);
$min_val=$min - (1*$offset);

$max_val=($max_val)?$max_val:1;
$min_val=($min_val)?$min_val:-1;
$numb=count($date);
$step_x=ceil($numb/5);
// Graphic config
echo "@@$max_val@@$min_val@@$steps@@$offset";


// use the chart class to build the chart:
$g = new graph();
$g->bg_colour = '#FFFFFF';

$g->title( 'Sezione ' .$nome_sommita. ' ' .date("d M Y"), '{color: #7E97A6; font-size: 15px; text-align: center}' );

$g->set_x_label_style( 10, '#004080', 0, $step_x, '#80ff80' );  //$size integer, size in pixels of the X axis ticks.
//                                                         //$colour string, text colour.
//                                                         //$orientation integer, see X Axis Labels Orientation.
// ... and tick every 4 :                                  //$step integer, see X Axis Labels Step.
//                                                         //$grid_colour, see X Axis Labels Step.
$g->set_x_axis_steps( ceil($step_x/24));

$g->set_x_labels( $date );

$g->set_y_max(  ($max_val)); //Massimo Valore dell'asse Y da graficare
$g->set_y_min(  $min_val ); //Massimo Valore dell'asse Y da graficare

$g->y_label_steps( $steps ); //Step asse Y

$g->set_x_tick_size( 10 );


$g->set_data( $segnali );
$g->line( 2,  '#5B1D7A', 'Sommita  ' .$nome_sommita, 12 );

$g->set_data( $segnali_pre );
$g->line( 2, '#818CCC', 'Sommita previsionale' .$piezo1, 12 );


$g->set_data( $segtuboaperto );
$g->line( 2, '#212FFF', 'Tubo Aperto  ' .$nome_tuboaperto, 12 );

$g->set_data( $segtuboaperto_pre );
$g->line( 2, '#762B1B', 'Tubo Aperto previsionale ' .$piezo2, 12 );

$g->set_data( $soglia_arr );
$g->line( 1, '0xDB1750', 'Soglia', 10 );//( 2, '#DB1750', 'Soglia', 12 );

$g->set_data( $pre_soglia_arr );
$g->line( 1, '0x993444', 'Pre-soglia', 10 );//( 2, '#993444', 'Pre-soglia', 12 );
//
// AXIS COLOURS
//
$g->x_axis_colour( '#818D9D', '#F0F0F0' );
$g->y_axis_colour( '#818D9D', '#ADB5C7' );
$g->y_right_axis_colour( '#164166' );

$g->set_tool_tip( '#key#<br>#val# (#x_label#)' );

$g->set_y_legend( 'Segnale', 9, '#00000C' );
$g->set_x_legend( 'Tempo', 9, '#00000C' );
// display the data
echo $g->render();



?>